Type-Safe Feature-Oriented Product Lines
نویسندگان
چکیده
A feature-oriented product line is a family of programs that share a common set of features. A feature implements a stakeholder’s requirement, represents a design decision and configuration option and, when added to a program, involves the introduction of new structures, such as classes and methods, and the refinement of existing ones, such as extending methods. With feature-oriented decomposition, programs can be generated, solely on the basis of a user’s selection of features, by the composition of the corresponding feature code. A key challenge of feature-oriented product line engineering is how to guarantee the correctness of an entire feature-oriented product line, i.e., of all of the member programs generated from different combinations of features. As the number of valid feature combinations grows progressively with the number of features, it is not feasible to check all individual programs. The only feasible approach is to have a type system check the entire code base of the feature-oriented product line. We have developed such a type system on the basis of a formal model of a feature-oriented Java-like language. We demonstrate that the type system ensures that every valid program of a feature-oriented product line is well-typed and that the type system is complete.
منابع مشابه
Judith Roth: On the Relation of Type Errors and Static Attributes of Feature-Oriented Product Lines
Feature-oriented software product lines are built using features that implement a functionality or configuration option. Thus code is reused which leads to reduced development costs. The variability of features can lead to product-line-specific type errors, which occur if a feature requires another feature without that relation being described in the feature model. Hence a valid product can con...
متن کاملParametric DeltaJ 1.5: Propagating Feature Attributes into Implementation Artifacts
Systematic reuse of software artifacts can be achieved with software product lines, which represent a family of similar software systems. A variability model, e.g., feature model, describes their commonalities and variabilities and serves as a basis for a product configuration, i.e., the selection of features according to constraints defined in the model. These variability models can contain ad...
متن کاملHandling Optional Features in Software Product Lines
Software product lines have a long tradition and will gain momentum in future. Feature Oriented Programming (FOP) is a design methodology and implementation technique to build product lines based on features. Features interact with others in many ways. In this paper we focus on structural interactions of features and especially on handling optional features. We present our first ideas dealing w...
متن کاملFeature-Oriented Software Development A Short Tutorial on Feature-Oriented Programming, Virtual Separation of Concerns, and Variability-Aware Analysis
Feature-oriented software development is a paradigm for the construction, customization, and synthesis of large-scale and variable software systems, focusing on structure, reuse and variation. In this tutorial, we provide a gentle introduction to software product lines, feature oriented programming, virtual separation of concerns, and variabilityaware analysis. We provide an overview, show conn...
متن کاملTowards Safe Composition of Product Lines
Programs of a software product line can be synthesized by composing modules that implement features. Besides high-level domain constraints that govern the compatibility of features, there are also low-level implementation constraints: a feature module can reference elements that are defined in other feature modules. Safe composition is the guarantee that programs composed from feature modules a...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- CoRR
دوره abs/1001.3604 شماره
صفحات -
تاریخ انتشار 2009